package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Leavecalendar;
import com.wyzz.hr.pojo.Location;

public abstract class BaseLeavecalendar implements Serializable {

	public BaseLeavecalendar() {
		hashCode = 0x80000000;
		initialize();
	}

	public BaseLeavecalendar(String lcId) {
		hashCode = 0x80000000;
		setLcId(lcId);
		initialize();
	}

	public BaseLeavecalendar(String lcId, Date lcDate, Integer lcSign) {
		hashCode = 0x80000000;
		setLcId(lcId);
		setLcDate(lcDate);
		setLcSign(lcSign);
		initialize();
	}

	protected void initialize() {
	}

	public String getLcId() {
		return lcId;
	}

	public void setLcId(String lcId) {
		this.lcId = lcId;
		hashCode = 0x80000000;
	}

	public Date getLcDate() {
		return lcDate;
	}

	public void setLcDate(Date lcDate) {
		this.lcDate = lcDate;
	}

	public Integer getLcSign() {
		return lcSign;
	}

	public void setLcSign(Integer lcSign) {
		this.lcSign = lcSign;
	}

	public String getLcDateDesc() {
		return lcDateDesc;
	}

	public void setLcDateDesc(String lcDateDesc) {
		this.lcDateDesc = lcDateDesc;
	}

	public Location getLcLocationNo() {
		return lcLocationNo;
	}

	public void setLcLocationNo(Location lcLocationNo) {
		this.lcLocationNo = lcLocationNo;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Leavecalendar))
			return false;
		Leavecalendar leavecalendar = (Leavecalendar) obj;
		if (null == getLcId() || null == leavecalendar.getLcId())
			return false;
		else
			return getLcId().equals(leavecalendar.getLcId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getLcId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getLcId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public static String REF = "Leavecalendar";
	public static String PROP_LC_DATE = "lcDate";
	public static String PROP_LC_SIGN = "lcSign";
	public static String PROP_LC_LOCATION_NO = "lcLocationNo";
	public static String PROP_LC_ID = "lcId";
	public static String PROP_LC_DATE_DESC = "lcDateDesc";
	private int hashCode;
	private String lcId;
	private Date lcDate;
	private Integer lcSign;
	private String lcDateDesc;
	private Location lcLocationNo;

}
